The Internet Protocol (IP) multimedia subsystem (IMS), defined by the 3rd Generation Partnership Project (3GPP), is an architectural framework for implementing IP-based telephony and multimedia services. IMS defines a set of specifications that enables the convergence of voice, video, data and mobile technology over an all IP-based network infrastructure. In particular, IMS fills the gap between the two most successful communication paradigms—cellular and Internet technology, by providing Internet services everywhere using cellular technology in a more efficient way. Session Initiation Protocol (SIP) is the main protocol for IMS. IMS aims to ensure that IMS applications work consistently across different network infrastructures. In addition to 3GPP, Open Mobile Alliance (OMA) plays an important role in specifying and developing IMS service standardization. The services are built on top of IMS infrastructure, and they include presence service, group management and instant messaging (IM).
3GPP defines the presence IMS architecture to support presence services in IMS. Presence is a basic service that is very likely to become ubiquitous in the near future. A presence service allows a user to be informed whether or not other users are online and, if they are online, whether they are idle, busy or away, what their moods are (e.g., emoticons), what their communication capabilities are (e.g., audio, video, and IM), etc.
The presence architecture defines various presence roles to existing functional entities in the IMS. The person who is providing presence information is known as the presence entity. A given presence entity can have multiple devices such as mobile phones, laptops, or desktop computers. Each of the multiple devices implements a presence user agent (PUA) and provides information about the presence entity's presence. The PUAs send their presence information to a presence server (PS) via presence updates. The PS gathers received presence information and obtains a complete picture of the presence entity. A watcher is an entity that requests presence information about a presence entity from the PS. The PUA updates a presence entity's status maintained in the PS as soon as a presence status changes. The PS, in turn, notifies all watchers of a presence entity of each received presence status change.